package com.ruoyi.factorydata.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.*;

import java.util.Date;

/**
 * 母版入库单详情对象 inventory_receipt_model_detail
 *
 * @author ruoyi
 * @date 2025-07-26
 */
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(resultMap = "com.ruoyi.factorydata.mapper.InventoryReceiptModelDetailMapper.InventoryReceiptModelDetailResult")
public class InventoryReceiptModelDetail extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 入库单id
     */
    @Excel(name = "入库单id")
    private Long receiptId;

    /**
     * 入库单编号
     */
    @Excel(name = "入库单编号")
    private String receiptNumber;

    /**
     * 仓库id
     */
    @Excel(name = "仓库id")
    private Long warehouseId;

    /**
     * 仓库编码
     */
    @Excel(name = "仓库编码")
    private String warehouseCode;

    /**
     * 库位id
     */
    @Excel(name = "库位id")
    private Long warehousePositionId;

    /**
     * 库位编码
     */
    @Excel(name = "库位编码")
    private String warehousePositionCode;

    /**
     * 母版来源
     */
    @Excel(name = "母版来源")
    private String modelSource;

    /**
     * 母版编号
     */
    @Excel(name = "母版编号")
    private String modelNumber;

    /**
     * 生产日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date productionDate;

    /**
     * 母版图片
     */
    @Excel(name = "母版图片")
    private String modelImages;
    /**
     * 表征图片
     */
    @Excel(name = "表征图片")
    private String characterizationImages;

    /**
     * 结构类型
     */
    @Excel(name = "结构类型")
    private String structureType;

    /**
     * 结构参数
     */
    @Excel(name = "结构参数")
    private String structureParameters;

    /**
     * 母版材质
     */
    @Excel(name = "母版材质")
    private String modelMaterial;

    /**
     * 母版厚度
     */
    @Excel(name = "母版厚度")
    private String modelThickness;
    /**
     * 母版尺寸
     */
    @Excel(name = "母版尺寸")
    private String modelSize;

    /**
     * 是否抗粘
     */
    @Excel(name = "是否抗粘")
    private Long isAntiStick;

    /**
     * 抗粘方式
     */
    @Excel(name = "是否抗粘")
    private String antiStickType;
    /**
     * 抗粘时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "抗粘时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date antiStickDuration;

    /**
     * 是否留样
     */
    @Excel(name = "是否留样")
    private Long isSampleRetained;
    /**
     * 母版等级
     */
    @Excel(name = "母版等级")
    private String modelLevel;

    /**
     * 预计入库数量
     */
    @Excel(name = "预计入库数量")
    private Long expectedQuantity;

    /**
     * 实际入库数量
     */
    @Excel(name = "实际入库数量")
    private Long actualQuantity;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @TableLogic(value = "0", delval = "2")
    private String delFlag;

    /**
     * 版本号
     */
    @Excel(name = "版本号")
    private Long version;
    /*
     * 库位名称
     */
    @Excel(name = "库位名称")
    @TableField(exist = false)
    private String warehousePositionName;
}